System and method for distinguishing a cardiac event from noise in an electrocardiogram (ECG) signal

ABSTRACT

A cardiac monitoring device includes: at least one sensing electrode for obtaining an electrocardiogram (ECG) signal from a patient; a processing unit comprising at least one processor operatively coupled to the at least one sensing electrode; and at least one non-transitory computer-readable medium comprising program instructions that, when executed by the at least one processor, causes the cardiac monitoring device to: obtain the ECG signal from the at least one sensing electrode; determine a transformed ECG signal based on the ECG signal; extract at least one value representing at least one feature of the transformed ECG signal; provide the at least one value to determine a score associated with the ECG signal, thereby providing an ECG-derived score; compare the ECG-derived score to a predetermined threshold score determined by machine learning; and provide an indication of a cardiac event if the ECG-derived score is one of above or below the predetermined threshold score determined by the machine learning.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/791,836 entitled “System and Method for Distinguishing a CardiacEvent from Noise in an Electrocardiogram (ECG) Signal” filed Jul. 6,2015, now U.S. Pat. No. 9,724,008, which claims the benefit of U.S.Provisional Patent Application Ser. No. 62/021,451 entitled “System andMethod for Distinguishing a Cardiac Event from Noise in anElectrocardiogram (ECG) Signal” filed Jul. 7, 2014, which areincorporated herein by reference.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention generally relates to systems and methods fordetecting arrhythmia and, more particularly, to systems and methods foruse with a cardiac monitoring device to reduce the frequency of falsedetections of arrhythmia.

Description of Related Art

The heart relies on an organized sequence of electrical impulses inorder to beat effectively. A normal heart beat wave starts at thesinoatrial node (SA node) and progresses toward the far lower corner ofthe left ventricle. A wave starting in the ventricles and resulting in arate over 100 beats per minutes (or in uncoordinated ventricularmovement) is called a ventricular tachyarrhythmia. Various devices areknown in the art that utilize signal processing techniques to analyzeelectrocardiography (ECG) signals acquired from a patient to determinewhen a cardiac arrhythmia such as ventricular fibrillation (VF) orventricular tachycardia (VT) exists.

VT is a cardiac tachyarrhythmia originating from a ventricular ectopicfocus, characterized by a rate typically greater than 100 beats perminute and typically by wide QRS complexes. VT may be monomorphic(identical QRS complexes) or polymorphic (varying QRS complexes).Depending on the rate and the coordination of the ventricularcontraction, a heart in the VT state may or may not produce a pulse(i.e., pulsatile movement of blood through the circulatory system). Ifthere is no pulse or a weak pulse, then the VT is considered to beunstable and a life threatening condition. An unstable VT may be treatedwith an electrical shock or defibrillation.

VF is a pulseless arrhythmia with chaotic electrical activity anduncoordinated ventricular contraction in which the heart immediatelyloses its ability to function as a pump. VF and unstable VT are theprimary arrhythmias that cause sudden cardiac arrest (SCA) and lead tosudden cardiac death (SCD).

An electrical shock to the heart can correct VF and unstable VT rhythms.A simplified understanding of the process is that an electrical shock ofsufficient size can force all of the cardiac cells in the heart todepolarize at the same time. Subsequently, all of the cardiac cellsexperience a short resting period with the hope that the sinoatrial node(SA node) will recover from this shock before any of the other cells,and that the resulting rhythm will be a pulse-producing rhythm, if not anormal sinus rhythm.

Various devices are currently available for providing an electricalshock to the heart. For example, some implantable devices, commonlyreferred to as pacemakers, deliver microjoule electrical shocks to aslowly beating heart in order to speed the heart rate up to anacceptable level. Other implantable devices, commonly referred to asimplantable cardioverter defibrillators, deliver electrical shocks inthe range of 10 to 40 joules to correct VT or VF. Also, it is well knownto deliver high energy shocks (e.g., 180 to 360 joules) with adefibrillator via external paddles applied to the chest wall in order tocorrect VT or VF, and prevent the possible fatal outcome of thesearrhythmias.

Because time delays in applying corrective electrical treatment mayresult in death, implantable pacemakers and defibrillators havesignificantly improved the ability to treat these otherwiselife-threatening conditions. Being implanted within the patient, suchdevices continuously or substantially continuously monitor the patient'sheart for treatable arrhythmias and, when such is detected, the deviceapplies corrective electrical shocks directly to the heart. Externalpacemakers and defibrillators that apply corrective electrical shocks tothe patient's chest wall also are used to correct such life-threateningarrhythmias but suffer from a drawback insofar as it may not be possibleto use the device to apply treatment in time during an acute arrhythmicemergency to save the patient's life. Such treatment is needed within afew minutes to be effective.

Consequently, when a patient is deemed at high risk of death from sucharrhythmias, electrical devices often are implanted so as to be readilyavailable when treatment is needed. However, some patients that havetemporary or uncertain permanent risk of unstable VT and VF, or areunsuitable for immediate implantation of an electrical device may bekept in a hospital where corrective electrical therapy is generallyclose at hand. Long-term hospitalization is frequently impractical dueto its high cost, or due to the need for patients to engage in normaldaily activities.

Therefore, wearable defibrillators have been developed for patients thatare susceptible to ventricular tachyarrhythmias and are at temporary oruncertain permanent risk of sudden death, or are awaiting an implantabledevice. Such wearable defibrillators are typically configured to provideexternal treatment if a life-threatening arrhythmia is detected. Awearable defibrillator is available from ZOLL Lifecor Corporation ofPittsburgh, Pa. The sensitivity of the process used to detect such lifethreatening arrhythmia is very high and is designed to deliver treatmentto every person who requires a treatment. The tradeoff to this highsensitivity is a higher level of false-positive detection of arrhythmiasdue to signal noise. To reduce the possibility that a false-positivereading might trigger an unnecessary treatment, wearable defibrillatorsuse an alarm sequence to alert conscious patients of an impendingtreatment, who by virtue of being conscious are not experiencing alethal arrhythmia, and allows them to stop the treatment. However, dueto the sensitivity of the current detection system, the user may ignorethe alarm, may not hear the alarm, may not be able to respond to thealarm, and/or may forget to depress the button to stop treatment.

In addition, other types of defibrillators, such as automated externaldefibrillators (AED) and implantable defibrillators, also monitor theECG signal of a patient to determine whether a cardiac event hasoccurred. For instance, a typical AED includes a system for recognizingVT and VF and performing ECG analyses at specific times during a rescueevent of a patient using defibrillation and cardio-pulmonaryresuscitation (CPR). The first ECG analysis is usually initiated withina few seconds following attachment of the defibrillation electrodes tothe patient. Subsequent ECG analyses may or may not be initiated basedupon the results of the first analysis. Typically, if the first analysisdetects a shockable rhythm, the rescuer is advised to deliver adefibrillation shock. Accordingly, it would be beneficial for such asystem to include a signal processing routine that determines whetherthe detected arrhythmia is an actual arrhythmia or simply caused bynoise so that a shock is only delivered to the patient if he/she isexperiencing a ventricular tachyarrhythmia.

In addition, a typical implantable defibrillator detects physiologicalchanges in patient conditions through the retrieval and analysis ofsignals stored in an on-board, volatile memory. Typically, these devicescan store more than thirty minutes of per heartbeat data recorded on aper heartbeat, binned average basis, or on a derived basis from whichcan be measured or derived various measures of physiologic activity; forexample, atrial or ventricular electrical activity, minute ventilation,patient activity score, and the like. From this information, a cardiacevent can be detected and the system can determine whether to deliver atherapeutic shock. However, in order to conserve power in theimplantable device and to ensure a therapeutic shock is delivered onlywhen an actual cardiac event is occurring, it would be beneficial forthe system to include a signal processing routine to distinguish acardiac event from noise.

Accordingly, while the above-described defibrillators have proven veryeffective, a need has arisen for a detection method and system thatreduces the frequency of false detections of life threatening arrhythmiaby more accurately determining the difference between noise in the ECGsignal and a life-threatening arrhythmia.

SUMMARY OF THE INVENTION

Defibrillators may be provided with systems and processes designed usingthe power spectral density and trained using machine learning to helpreduce the frequency of false detections, which if persistent enough,leads to alarm fatigue and potentially unnecessary treatments.

According to one aspect of the invention, a cardiac monitoring device isprovided that comprises: at least one sensing electrode for obtaining anelectrocardiogram (ECG) signal from a patient; a processing unitcomprising at least one processor operatively coupled to the at leastone sensing electrode; and at least one non-transitory computer-readablemedium comprising program instructions that, when executed by the atleast one processor, causes the cardiac monitoring device to: obtain theECG signal from the at least one sensing electrode; determine atransformed ECG signal based on the ECG signal; extract at least onevalue representing at least one feature of the transformed ECG signal;provide the at least one value to determine a score associated with theECG signal, thereby providing an ECG-derived score; compare theECG-derived score to a predetermined threshold score determined bymachine learning; and provide an indication of a cardiac event if theECG-derived score is one of above or below the predetermined thresholdscore determined by the machine learning.

The transformed ECG signal may comprise a frequency-domainrepresentation of the ECG signal or a representation of a powerdistribution of the ECG signal over a range of frequencies of the ECGsignal.

In one example, the transformed ECG signal comprises a power spectraldensity (PSD) of the ECG signal with the PSD being determined bycalculating a fast Fourier transform (FFT) of the ECG signal. At leastfour features of the PSD may be extracted and provided to the machinelearning. Such features may include, but are not limited to, at leastone value representing a dominant frequency of the PSD, at least onevalue representing in-band entropy of the PSD between frequencies of 2Hz and 6 Hz, at least one value representing first-band entropy of thePSD between frequencies of 0 Hz and 2 Hz, and at least one valuerepresenting a variance of the PSD. The machine learning may be amultivariate adaptive regression splines classifier, a neural networkclassifier, or any suitable classifier.

The cardiac monitoring device may further include providing aninstruction signal for taking an action based on the indication. Theaction may be at least one of applying a therapy to a patient andproviding a warning signal to the patient. The cardiac monitoring devicemay also further include providing the indication and the ECG-derivedscore to the machine learning to refine the predetermined thresholdscore.

The program instructions that are executed by the at least one processormay be initiated for a portion of the ECG signal that is stored in amemory device when the at least one processor detects a triggeringevent. The portion of the ECG signal is a predetermined time period ofthe ECG signal that precedes the triggering event. The predeterminedtime period may be 20 seconds, for example.

According to yet another aspect of the invention, a wearabledefibrillator is provided. The wearable defibrillator comprises: atleast one therapy pad for rendering treatment to a patient wearing thewearable defibrillator; at least one sensing electrode for obtaining anelectrocardiogram (ECG) signal from a patient; a processing unitcomprising at least one processor operatively coupled to the at leastone therapy pad and the at least one sensing electrode; and at least onenon-transitory computer-readable medium comprising program instructionsthat, when executed by the at least one processor, causes the cardiacmonitoring device to: obtain the ECG signal; determine a transformed ECGsignal based on the ECG signal; extract at least one value representingat least one feature of the transformed ECG signal; provide the at leastone value to determine a score associated with the ECG signal, therebyproviding an ECG-derived score; compare the ECG-derived score to apredetermined threshold score determined by machine learning; andprovide an indication of a cardiac event if the ECG-derived score is oneof above or below the predetermined threshold score determined by themachine learning.

The wearable defibrillator may include at least one alert systemoperatively connected to the at least one processor for conveying analert signal to the patient. In one example, the alert system comprisesa display and a patient notification device. In addition, the wearabledefibrillator may also include at least one response mechanismoperatively connected to the at least one processor. The wearabledefibrillator may be configured to prevent rendering treatment to thepatient wearing the wearable defibrillator in response to a patientactuation of the at least one response mechanism.

According to still another aspect of the invention a method fordistinguishing a cardiac event from noise in an electrocardiogram (ECG)signal is provided. The method comprises: detecting an event in aportion of the ECG signal at a first module with a first signalprocessing routine; sending a signal that the event has been detectedand the portion of the ECG signal to the second module; and evaluatingthe portion of the ECG signal at the second module with a second signalprocessing routine to determine whether the event detected by the firstmodule is an actual cardiac event or noise based on output from aclassifier.

The second module may be dormant until a cardiac event is detected bythe first module. If the second module determines that the cardiac eventdetected by the first module is an actual cardiac event, an alarm may beinitiated providing a user with an indication that the actual cardiacevent has occurred. If the second module determines that a cardiac eventdetected by the first module is noise, a silent delay period may beinitiated in which no indication is provided to a user that the actualcardiac event has occurred. The second module may continue to analyzethe portion of the ECG signal during the silent delay period to confirmthat the cardiac event detected by the first module is noise. The secondmodule may initiate an alarm providing a user with an indication thatthe actual cardiac event has occurred if the second module determinesthat the cardiac event detected by the first module is the actualcardiac event.

The second signal processing routine performed by the second module maycomprise: obtaining the portion of the ECG signal; determining a PSD ofthe portion of the ECG signal; extracting at least one valuerepresenting at least one feature of the PSD; providing the at least onevalue to determine a score associated with the ECG signal, therebyproviding an ECG-derived score; comparing the ECG-derived score to apredetermined threshold score determined by machine learning; andproviding an indication of a cardiac event if the ECG-derived score isone of above or below the predetermined threshold score determined bythe machine learning. The machine learning may be one of a multivariateadaptive regression splines classifier and a neural network classifier.

The ECG signal may be obtained from a cardiac monitoring device. Thecardiac monitoring device may be one of a wearable defibrillator, animplantable defibrillator, a subcutaneous cardioverter defibrillator, anautomated external defibrillator (AED), a mobile cardiac telemetrydevice, an ECG rhythm classifier, a ventricular arrhythmia detector, aHolter monitor, cardiac event monitor, and an implantable loop recorder.

According to another aspect of the invention, a method is provided fordistinguishing a cardiac event, such as VT or VF, from noise in anelectrocardiogram (ECG) signal. The method comprises: obtaining the ECGsignal; determining a transformed ECG signal based on the ECG signal;extracting at least one value representing at least one feature of thetransformed ECG signal; providing the at least one value to determine ascore associated with the ECG signal, thereby providing an ECG-derivedscore; comparing the ECG-derived score to a predetermined thresholdscore determined by machine learning; and providing an indication of acardiac event if the ECG-derived score is one of above or below thepredetermined threshold score determined by the machine learning.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features and characteristics of the present invention,as well as the methods of operation and functions of the relatedelements of structures and the combination of parts and economies ofmanufacture, will become more apparent upon consideration of thefollowing description and the appended claims with reference to theaccompanying drawings, all of which form a part of this specification,wherein like reference numerals designate corresponding parts in thevarious figures. It is to be expressly understood, however, that thedrawings are for the purpose of illustration and description only andare not intended as a definition of the limits of the invention.

FIG. 1 is a schematic view of a wearable defibrillator that utilizes amethod to reduce the frequency of false detections of cardiac arrhythmiain accordance with the present invention;

FIG. 2 is a block diagram of a controller unit of the wearabledefibrillator of FIG. 1;

FIG. 3 is a block diagram of a microcontroller of the controller unit ofFIG. 2;

FIG. 4 is a flow diagram of one process performed by a noise detectionmodule of the microcontroller of FIG. 3;

FIG. 5 is a graph illustrating the power spectral density of an ECGsignal demonstrating a normal sinus rhythm and containing significantnoise content;

FIG. 6 is a graph illustrating the power spectral density of an ECGsignal demonstrating VT arrhythmia;

FIG. 7 is a flow diagram illustrating a methodology performed by thenoise detector module;

FIG. 8 is a state machine diagram illustrating various states availablefor the noise detection module of the microcontroller of FIG. 3;

FIG. 9 is a chart illustrating the timeline sequence of a methodologyperformed by the noise detection module of the microcontroller of FIG.3; and

FIG. 10 is a flow diagram illustrating an exemplary software methodologyfor implementing the invention.

DESCRIPTION OF THE INVENTION

As used herein, spatial or directional terms, such as “inner”, “left”,“right”, “up”, “down”, “horizontal”, “vertical”, and the like, relate tothe invention as it is described herein. However, it is to be understoodthat the invention can assume various alternative orientations and,accordingly, such terms are not to be considered as limiting. As used inthe specification and the claims, the singular form of “a”, “an”, and“the” include plural referents unless the context clearly dictatesotherwise. For the purposes of this specification, unless otherwiseindicated, all numbers expressing quantities of ingredients, reactionconditions, dimensions, physical characteristics, and so forth used inthe specification and claims are to be understood as being modified inall instances by the term “about.” Accordingly, unless indicated to thecontrary, the numerical parameters set forth in the followingspecification and attached claims are approximations that may varydepending upon the desired properties sought to be obtained by thepresent invention. At the very least, and not as an attempt to limit theapplication of the doctrine of equivalents to the scope of the claims,each numerical parameter should at least be construed in light of thenumber of reported significant digits and by applying ordinary roundingtechniques.

While the system and method disclosed herein will be described below asbeing used with a wearable defibrillator, this is not to be construed aslimiting the invention as the system and method disclosed herein may beused with any suitable cardiac monitoring device. Such devices include,but are not limited to, an implantable defibrillator (such as theEllipse ICD available from St. Jude Medical of St. Paul, Minn.), anautomated external defibrillator (AED) (such as an AED Plus™ AutomatedExternal Defibrillator device available from ZOLL Medical Corporation ofChelmsford, Mass.), a mobile cardiac telemetry device (such as an MCOT™device available from BioTelemetry, Inc. of Malvern, Pa.), an ECG rhythmclassifier, a ventricular arrhythmia detector, a Holter monitor (such asthe M8 Holter Reporter monitoring system available from Applied CardiacSystems of Laguna Hills, Calif.), and any other suitable cardiac eventrecorder (such as the ER 920W cardiac event monitor available fromBraemar Manufacturing, LLC, of Eagan, Minn.). In addition, while thedetection methods and systems described hereinafter are disclosed asdetecting VT and VF, this is not to be construed as limiting theinvention as other arrhythmias, such as, but not limited to, atrialarrhythmias such as premature atrial contractions (PACs), multifocalatrial tachycardia, atrial flutter, and atrial fibrillation,supraventricular tachycardia (SVT), junctional arrhythmias, tachycardia,junctional rhythm, junctional tachycardia, premature junctionalcontraction, and ventricular arrhythmias such as premature ventricularcontractions (PVCs) and accelerated idioventricular rhythm, may also bedetected.

With reference to FIG. 1, a wearable defibrillator 1 may be worn by apatient and may include a belt or harness or other apparel configured topermit the patient to wear the defibrillator 1. Such a wearabledefibrillator can be configured for long term or extended wear. Forexample, the wearable defibrillator may be typically worn nearlycontinuously for two to three months at a time. During the period oftime in which they are worn by the patient, the wearable defibrillator 1may be configured to continuously or substantially continuously monitorthe vital signs of the patient, to be user-friendly and accessible, tobe as light-weight, comfortable, and portable as possible, and to becapable of delivering one or more life-saving therapeutic shocks whenneeded.

The wearable defibrillator 1 may comprise a controller unit 3 positionedwithin an external housing that is configured to be worn by a patientand connected to a therapeutic or treatment device, such as an upperbody harness or vest that includes ECG electrodes 5 a, 5 b, 5 c, and 5 dand therapy pads 7. The ECG electrodes 5 a, 5 b, 5 c, and 5 d andtherapy pads 7 of the harness or vest are operatively connected tocontroller unit 3 via a trunk cable 9 or other suitable connectionmechanism. Non-limiting examples of suitable wearable defibrillators aredisclosed in U.S. Pat. Nos. 4,928,690; 5,078,134; 5,741,306; 5,944,669;6,065,154; 6,253,099; 6,280,461; 6,681,003; 8,271,082; and 8,369,944;the entirety of all of which are incorporated by reference herein. Theupper body harness or vest may also include other sensing electrodes(not shown) such as heart beat sensors, accelerometers, and sensorscapable of measuring blood pressure, heart rate, thoracic impedance,respiration rate, heart sounds, acoustic sensors, audio transducers, andthe activity level of the subject.

Electrodes 5 a, 5 b, 5 c, and 5 d are removably attached to the patientwhen the wearable defibrillator 1 is worn by the patient. The electrodes5 a, 5 b, 5 c, and 5 d form part of electrode assembly 11. According toone example, the electrode assembly 11 receives ECG signals from afront-to-back channel and from a side-to-side channel. The front-to-back(FB) channel includes an electrode 5 a, 5 b, 5 c, or 5 d positioned onthe chest of the patient and another electrode 5 a, 5 b, 5 c, or 5 dpositioned on the back of the patient. The side-to-side (SS) channelincludes an electrode 5 a, 5 b, 5 c, or 5 d positioned on the left sideof the chest and another electrode 5 a, 5 b, 5 c, or 5 d positioned onthe right side of the patient.

The controller unit 3 is operatively connected to the therapy pads 7, atleast one tactile stimulator 12, electrode assembly 11, and one or morealert devices such as audio/visual alert devices 13. The therapy pads 7are removably connected to the patient when the defibrillator 1 is worn.Optionally, the controller unit 3 may be operatively connected to otherelectrodes/devices which provide data to the controller regarding otherphysiological conditions or parameters of the patient. While the alertdevice 13 in the present example is audio/visual in design, it mayadditionally or alternatively be tactile in design, to provide a tactile(such as buzzing) alert to a patient in addition to or instead ofaudible and/or visible alerts.

While a trunk cable 9 may be used to connect the electrode assembly 11to the controller unit 3, other types of cables or other connectiondevices to operatively connect the electrode assembly 11 to thecontroller unit 3 may also be used. Wiring or other connection devicesmay be used to connect at least one portion of the electrode assembly 11to the electrodes 5 a, 5 b, 5 c, and 5 d. In addition, the controllerunit 3 may alternatively be operatively connected to one or more of theelectrodes 5 a, 5 b, 5 c, and 5 d, therapy pads 7, electrode assembly11, and stimulator 12 by a wireless connection or a combination ofwireless and wired connections.

In some examples, the controller unit 3 may include, without limitation,one or more processors, one or more controllers and/or one or moreprograms or other software stored in memory operatively connected to oneor more processors. More specifically, and with reference to FIG. 2, thecontroller unit 3 comprises a microcontroller 15, audio/visual alertdevice 13 operatively connected to the microcontroller 15, and a powersupply 17. The power supply 17 has sufficient capacity to administer oneor more therapeutic shocks to the therapy pads 7 as well as providepower to all of the internal components of the wearable defibrillator 1.

The audio/visual alert device 13 may also include a microphone 19, aspeaker 21, and audio circuitry 23 operatively connected to themicrocontroller 15 via an appropriate interface. The microcontroller 15may be configured to cause a voice responsiveness test to be run as partof determining that the patient is experiencing a condition requiringtreatment. The voice responsiveness test may include the speaker 21, toverbally ask the patient if the patient is conscious. In the event themicrophone 19 or other audio device senses that the patient respondswith a positive verbal comment, such as, for example, “yes”, themicrocontroller 15 may be configured to delay treatment. In the eventthe patient does not provide an answer that is sensed by the microphone19 or if such data is not provided to the microcontroller 15, themicrocontroller 15 may be configured to cause the speaker 21 to providea verbal message asking the patient to press one or more responsebuttons 27 to verify that the patient is conscious.

In one example, the microcontroller 15 may be configured to cause thespeaker 21 to ask the patient certain questions in the event a possiblecondition is identified that may require delivery of a treatment. Forexample, the speaker may be configured to ask the patient “Are youconscious?” or “If you are conscious, please state your name.” Themicrocontroller 15 may be operatively connected to a memory device thatcontains the patient's voice signature to verify that the patient isanswering the questions. Such verification prevents a passerby frompreventing treatment of the patient by improperly responding to thequestions.

The use of the microphone 19 and the speaker 21 permits the patient tohave real-time input provided to the wearable defibrillator 1. Themicrocontroller 15 may also be configured to record the audio input inthe proximity of the wearable device for later review by emergencypersonnel or to connect for voice contact with a monitoring center. Suchinformation may help care providers to determine a diagnosis for thepatient or to treat the patient.

The audio/visual alert device 13 may further include a display screen 25for providing information to a patient and for providing a user inputdevice to the patient. The display screen 25 may be configured toprovide information such as, but not limited to, time, battery life,volume, signal strength, device status, and any other useful informationto the patient. In addition, the display screen 25 also allows the userto access various data regarding the wearable defibrillator 1 such as,but not limited to, the settings of the device, data stored by thedevice, and various other data accumulated by the wearable defibrillator1. The display screen 25 further acts as a communication interface toallow the patient to send and receive data.

At least one response button 27 may also be provided in operativeconnection with the microcontroller 15. The response button 27 may beprovided to prevent the microcontroller 15 from sending a signal toinitiate the rendering of treatment to the patient wearing the wearabledefibrillator 1 in response to a patient actuation of the responsebutton 27 within a predetermined time period.

The microcontroller 15, which may be a single chip multiprocessor suchas is available from ARM Ltd. of Cambridge, UK, may be configured toreceive more than one channel (i.e., front-to-back and side-to-side asdescribed above) of ECG information from the ECG electrodes 5 a, 5 b, 5c, and 5 d, detect abnormal heart rhythms based on the informationreceived from the ECG electrodes 5 a, 5 b, 5 c, and 5 d, and administera therapeutic shock to the patient via the therapy pads 7 if an abnormalheart rhythm is detected, unless a user intervenes within apredetermined period of time via the response button 27. In at least oneexample, the predetermined period of time, may extend from a minimum of30 seconds to a maximum of a few minutes, but it may differ based on thetype of detected arrhythmia, device interaction, or on the presence ofnoise.

The microcontroller 15 is also configured to perform several otherfunctions in addition to those described above. These other functionsmay leverage the robust computing platform provided by themicrocontroller 15 without disrupting the functions described above.Some examples of these other functions include notifying emergencypersonnel of the location of a patient who just received a therapeuticshock via a communication module (not shown), providing users of thedevice with the historical physiological data of the wearer of thedevice via the display screen 25, and/or notifying the manufacturer at acentral location 29 of the wearable defibrillator 1 of potentialperformance issues within the wearable defibrillator 1 that may requirerepair to or replacement of the wearable defibrillator 1 via thecommunication module. Moreover, these other functions may includemaintaining a history of data and events by storing this information inthe memory device, communicating with the user via the display screen25, and/or reporting data and events via the communication module. Inaddition, another function may perform additional operations on thehistory of critical data. For instance, in one example, a functionanalyzes the history of critical data to predict worsening heart failureor an increased risk of sudden cardiac death and/or monitors otherpatient physiological conditions and parameters.

In operation and, as will be discussed in greater detail hereinafter, ifthe microcontroller 15 detects an abnormal condition, such as a VT/VFcondition, the wearable defibrillator 1 is configured to stimulate thepatient for a predetermined time period. The stimulus may be anystimulus perceptible by the patient. Examples of stimuli that thedefibrillator 1 may produce include visual (via the display screen 25),audio (via the speaker 21), tactile stimulation (via the tactilestimulator 12) or a mild stimulating alarm shock (via the therapy pads7). The response button 27 is provided to allow a user to turn off thestimulus by pressing the response button 27 within a predetermined timeperiod, such as described above. When the patient presses the responsebutton 27, the stimulus is ceased and no further action is taken by thewearable defibrillator 1 until another arrhythmia is detected. If thepatient does not press the response button 27 within the predeterminedtime period, the wearable defibrillator 1 administers one or moretherapeutic shocks to the patient via the therapy pads 7.

With reference to FIG. 3, and with continuing reference to FIGS. 1 and2, the manner in which the microcontroller 15 determines whether anabnormal condition is present will be discussed in greater detail. Themicrocontroller 15 includes a digital signal processing module 31, ashared memory module 33 operatively coupled to the digital signalprocessing module 31, and an activation module 37 operatively coupled tothe digital signal processing module 31 and the shared memory module 33.The activation module 37 includes an I/O module 38 operatively coupledto the digital signal processing module 31 and the shared memory module33, a noise detector module 35 operatively coupled to the digital signalprocessing module 31 and the shared memory module 33 via the I/O module38, a shell 36 operatively connected to the noise detector module 35 viathe I/O module 38 and configured to receive a signal from the noisedetector module 35 and to provide a signal, via the I/O module to thetherapy pads 7 to administer one or more therapeutic shocks if thesignal from the noise detector module 35 indicates that an abnormalcondition is present. In some implementations, the noise detector module35 may be included within the digital signal processing module 31. Insuch implementations, the noise detector module 35 can be incommunication with the shared memory module 33, and be able to accessstored ECG data in the shared memory module 33. The shell 36 is sized tostore programming objects that are configured to provide functionalitysuch as, but not limited to, a user interface, Bluetooth® connectivity,Universal Asynchronous Receiver/Transmitter (UART), capacitor charging,and other functionality disclosed below.

The digital signal processing module 31 may be configured to receivesignals from more than one channel (i.e., front-to-back and side-to-sideas described above) of ECG signals from the electrode assembly 11. Thedigital signal processing module 31 passes the “raw” ECG signals to theshared memory module 33 as indicated by arrow A. The digital signalprocessing module 31 also processes the ECG signal using a process thatdetects abnormal heart rhythms in the ECG signal. An example of themethods used to detect abnormal heart rhythms may be found in U.S. Pat.No. 5,944,669, which is hereby incorporated by reference in itsentirety. If an abnormal heart rhythm, such as a VT/VF, is detected bythe digital signal processing module 31, a signal is sent to the noisedetector module 35, via the I/O module 38, as indicated by arrow B.

The noise detector module 35 may be configured to receive the signalfrom the digital signal processing module 31, via the I/O module 38,indicating that an abnormal heart rhythm has been detected and furtherto process this signal to determine whether the abnormal heart rhythm isa VT/VF condition or if it was caused by noise in the ECG signal using amethodology that will be discussed in greater detail hereinafter. Thenoise detector module 35 may also access the “raw” ECG signals from theshared memory module 33, via the I/O module 38, as indicated by arrow Cto assist in the determination as to whether the abnormal heart rhythmdetected by the digital signal processing module 31 is a VT/VF conditionor if it was caused by noise in the ECG signal.

The shared memory module 33 may be sized to store months or years ofsensor information, such as ECG data, that is gathered over severalmonitoring and treatment periods. These monitoring and treatment periodsmay include continuous monitoring periods of approximately 24 hours (andsubstantially continuous monitoring periods of approximately 1-2 months)during which several treatments may have been delivered to the patient.In some of these examples, the microcontroller 15 is configured toanalyze the stored sensor information and to determine adjustments tothe treatment method, or alternative treatment methods, of benefit tothe patient. For instance, in one example, the microcontroller 15 isconfigured to analyze ECG data collected substantially contemporaneouslywith each instance of patient initiated delay, or cancellation, oftreatment. In this example, the microcontroller 15 is configured toanalyze the stored months of ECG data to recognize individualized,idiosyncratic rhythms that, while not normal, do not indicate a need fortreatment. In some examples, the microcontroller 15 may automaticallyadjust the treatment method of the wearable defibrillator 1 to bettersuit the patient by not initiating treatment in response to therecognized, idiosyncratic rhythm. Such an adjustment may be performed inconjunction with review by appropriate medical personnel.

The noise detector module 35 is configured to send a signal to the shell36, via the I/O module, indicating that an abnormal condition is presentor that the abnormal condition detected by the digital signal processingmodule 31 was caused by noise. Based on this signal, the shell 36instructs the activation module 37 to provide an instruction signal tothe therapy pads 7, via the I/O module 38, to administer one or moretherapeutic shocks or it provides an instruction signal to theaudio/visual alert device 13 to provide a warning to the patient. If thepatient does not provide a response to the warning provided by the alertdevice 13 via the response button 27, for instance, then the shell 36provides an instruction signal to the therapy pads 7 to administer oneor more therapeutic shocks.

A machine learning system may assist in determining whether the abnormalheart rhythm is a VT/VF condition or if it was caused by noise. Themachine learning system may be any conventional system of computeralgorithms that improve automatically through experience. Suitablemachine learning systems may employ unsupervised learning (in whichpatterns are identified in a stream of input without target labels) orsupervised learning (where patterns are identified to match a designatedtarget label). One form of supervised learning is classification,through which an item is categorized based on observation of examples ofitems from several categories. Another form is numerical or statisticalregression, in which a function is developed to describe therelationship between inputs and outputs and to predict how outputsshould change as inputs change.

Suitable methods of supervised learning may also include rules-baseddecision trees, ensemble methods (bagging, boosting, random forest), thek-Nearest Neighbors algorithm (k-NN), linear or logistic regression,naïve Bayes classifiers, neural networks, the perceptron algorithm, andthe support vector machine (SVM) model. Suitable machine learningclassifiers include the MARS™ classifier available from Salford Systemsof San Diego, Calif., and the ARESLab™ Adaptive Regression Splinestoolbox for Matlab/Octave available from Gints Jekabsons, of theInstitute of Applied Computer Systems, Riga Technical University ofRiga, Latvia. A suitable neural network classifier is Neural NetworkToolbox™ from The MathWorks, Inc. Classifiers are described in greaterdetail below.

Machine learning may be developed using a high-level technical computinglanguage such as MATLAB™, which is available from The MathWorks, Inc. ofNatick, Mass., and performed a priori to build a function, model, orclassifier. The output may be migrated into the noise detector module 35for use in determining a score or probability associated with thequality of a given ECG signal (described in detail later). A machinelearning system, including algorithms and software instructions, may belocated in any convenient location (such as shared memory module 33) andinvoked when needed, or, as in the example shown in the FIG. 3, amachine learning system 39 may be included in noise detector module 35.Further, while any suitable machine learning system may be used, in theexample shown in the Figures, the machine learning system constitutes amachine learning classifier.

With reference to FIG. 4, and with continuing reference to FIGS. 1-3,the method for distinguishing a cardiac event from noise in anelectrocardiogram (ECG) signal includes obtaining an indication from thedigital signal processing module 31 that a cardiac event has occurred;obtaining the ECG signal corresponding to the cardiac event from theshared memory module 33 (block 100); determining a PSD of the ECG signal(block 101); extracting at least one feature of the PSD and determiningan ECG-derived score (block 102); determining a predetermined thresholdscore with a machine learning classifier (block 103), that has beentrained with a sample data set (block 403); comparing the ECG-derivedscore to the predetermined threshold score determined by the machinelearning classifier (block 104); and providing an indication of acardiac event (block 105) if the ECG-derived score is one of above orbelow the predetermined threshold score determined by the machinelearning classifier or providing an indication that the signal is noiseif the ECG-derived score is the other one of above or below thepredetermined threshold score determined by the machine learningclassifier (block 106).

The method of FIG. 4 will be discussed in greater detail hereinafter.Initially, as noted above, the digital signal processing module 31receives the more than one channel of ECG signals from the electrodeassembly 11 and determines whether VT/VF is present in the signal usingthe abnormal heart rhythms heart rhythms detection methodology describedabove. If VT/VF is present, a signal is sent to the noise detectormodule 35 and the “raw” ECG signal is obtained by the noise detectormodule 35 from the shared memory module 33. The noise detector module 35is configured to distinguish an actual VT/VF condition frominappropriate sensing of a VT/VF condition due to noise caused by leadmalfunction, electromagnetic interference, patient movement, etc. Thenoise detector module 35 processes the time domain ECG signal totransform the ECG signal into a transformed ECG signal. For example, themodule 35 may transform the time domain ECG signal into a frequencydomain ECG signal. For example, the module 35 can transform the ECGsignal into a representation of a power distribution of the ECG signalover a range of frequencies of the ECG signal. In some instances, thepower distribution over the range of frequencies can be computed fromthe frequency domain ECG signal. In one example, the transformed ECGsignal can be a PSD, which describes how the power of the ECG signal isdistributed over the different frequencies of the signal. For example,noise detector module 35 may generate the PSD by performing fast Fouriertransform (FFT) operations on the time domain ECG signal, or it mayemploy other discrete Fourier transform (DFT) techniques to generate thePSD.

For example, the PSD may be calculated using a modification of Welch'smethod. A 4096 sample (at 400 Hz sampling rate) may be windowed into 512sample windows with a 256 sample overlap. A Hamming window is thenapplied to each segment. The FFT of each segment is taken and all of thewindows are averaged into a single mean periodogram. Welch's method isdescribed in Peter D. Welch, “The Use of Fast Fourier Transform for theEstimation of Power Spectra: A Method Based on Time Averaging Over ShortModified Periodograms”, IEEE Trans. Audio and Electroacoust., Vol.AU-15, pp. 70-73, (June 1967). The Welch method evaluates FFT, which isa complex number, and then produces the square of the modulus of the FFTto transform FFT into a real number as a final result.

FIG. 5 illustrates a PSD of an ECG signal demonstrating normal sinusrhythm and containing noise content; and FIG. 6 illustrates a PSD of anECG signal demonstrating VT arrhythmia. As may be seen in these figures,the PSD has very distinct features when a signal that is in VT/VF iscompared with a signal from an ECG demonstrating normal sinus rhythm,even in the presence of a significant amount of noise contamination. Forinstance, the PSD of an ECG signal that is in VT/VF typically hasseveral distinct dominant spectral bands while a normal sinus rhythm hasa dominant spectral band at less than 2.5 Hz. The dominant spectral bandis the band of frequencies that corresponds to the maximum value of thePSD. A PSD with multiple dominant spectral bands has more than one bandof frequencies in which the power of the ECG signal is significant.Accordingly, as can also be seen in FIG. 5, normal sinus rhythm may haveother dominant spectral bands due to noise content, but there is a highinformation content in the very low frequency bands (i.e., less than 2.5Hz) of a PSD of normal sinus rhythm, as compared with the PSD of a VT/VFsignal at the same very low frequency bands. The information content inthe PSD of the ECG signal that is in VT/VF is spread over morefrequencies, and the frequency content is most dense around thefrequency of the VT, which is typically greater than 2.5 Hz.

In addition, even in the presence of a substantial amount of noise, aPSD of normal sinus rhythm differs from a PSD of VT/VF arrhythmia. Noisewithin the ECG signal may be characterized as entropy (i.e.,randomness). Accordingly, various entropy calculations may be performedon a PSD to differentiate between a normal sinus rhythm signal withnoise and a VT/VF signal. For instance, an in-band entropy may becalculated for a PSD of an ECG signal. Entropy in the ElectricalEngineering field was defined by Shannon in 1948. While any suitabledefinition or formulation of entropy may be used, in one example, thedefinition commonly known as the Shannon entropy may be used and anin-band entropy 61 is the Shannon entropy calculation for frequenciesbetween 2 Hz and 6 Hz. The Shannon entropy calculation is described inC. E. Shannon, “A Mathematical Theory of Communication”, The Bell SystemTechnical Journal, Vol. XXVII, No. 3, July 1948. A first-band entropy 63may also be calculated for a PSD of an ECG signal. The first-bandentropy may be calculated by converting the PSD to a probabilitydistribution function (PDF) and calculating the entropy of the signalbetween 0 Hz and 2 Hz. Finally, the variance of the PSD may becalculated for a PSD of an ECG signal by treating the PSD as a PDF andcalculating the second moment as will be discussed in greater detailhereinafter.

The four features of the PSD (a dominant frequency of the PSD; in-bandentropy of the PSD between frequencies of 2 Hz and 6 Hz; first-bandentropy of the PSD between frequencies of 0 Hz and 2 Hz; and a varianceof the PSD) were selected as the features that would be extracted fromthe PSD at block 102 and submitted to the machine learning classifier atblock 103 based on a combination of feature selection experimentationand physiological reasoning. When a normal sinus rhythm (NSR) in theabsence of noise is compared to an NSR contaminated with motion artifactor machine noise, some characteristics of the PSD remain the same. Forexample, since entropy is a measure of randomness, the entropy in the0-2 Hz range of the PSD is similar for an NSR with and without noise.However, the PSD for an NSR without the presence of noise would havemuch less information content in the 2-6 Hz range than a PSD for an NSRwith a noisy signal.

In contrast, a VT/VF ECG signal that is substantially free from noisehas very little information in the 0-2 Hz band and much more informationin the 2-6 Hz band of the PSD around the frequency of the VT/VF. FIG. 6shows a PSD of the ECG signal that is contaminated with motion artifactor machine noise. It can be seen that the PSD of FIG. 6 shows someinformation content in the 0-2 Hz band. However, the information contentis relatively minor, especially when compared to the information contentof the PSD in the 2-6 HZ band. Even with noise contamination of theVT/VF signal, most of the frequency content is still greater than 2 Hz,leaving the entropy for the 0-2 Hz largely untouched. Because theentropies in the 0-2 Hz and 2-6 Hz bands were markedly different in PSDsrepresenting VT/VR arrhythmias and NSRs with noise contamination, thein-band entropy of the PSD between frequencies of 2 Hz and 6 Hz andfirst-band entropy of the PSD between frequencies of 0 Hz and 2 Hz wereselected as features that would be extracted from the PSD at block 102and submitted to the machine learning classifier at block 103. Tocomplement the entropy measurements for the two bands (0-2 Hz and 2-6Hz), the dominant frequency of the PSD is also investigated. For normalsinus rhythm, the dominant frequency is typically less than 2 Hz.However, extreme noise content (either low or high frequency content)may skew this observation. For example, FIG. 5, shows a PSD for an NSRwith noise content, has a dominant frequency at about 2.5 Hz and anotherless dominant frequency at about 4 Hz, both most likely resulting fromthe noise contamination. Accordingly, the dominant frequency of the PSDwas selected as a feature that would be extracted from the PSD at block102 and submitted to the machine learning classifier at block 103.

Finally, variance was selected as a feature that would be extracted fromthe PSD at block 102 and submitted to the machine learning classifier atblock 103 because the variance of a distribution provides a feel for therelative spread of the distribution. If a PSD has most of the energy inthe 0-2 Hz band and very little in the 2-6 Hz band, the variance isrelatively small. However, a PSD with much energy in the 2-6 Hz bandwould provide a much wider variance of the PSD. As noted before, a PSDfor an NSR has most of the energy in the 0-2 Hz band, and a PSD for aVT/VF arrhythmia has more energy in the 2-6 Hz band. In order tocalculate variance, it is assumed that the PSD is a normal distribution.As clearly shown in FIGS. 5 and 6, neither the PSD of the normal sinusrhythm nor the PSD of the signal in VT/VF is a normal distribution, thevariance of the PSD is calculated by treating the PSD as a PDF andcalculating the second moment.

As discussed hereinabove, the PSD may be calculated using a modificationof Welch's method. A 4096 sample (at 400 Hz sampling rate) is windowedinto 512 sample windows with a 256 sample overlap. Accordingly, for each4096 sample, the dominant frequency, in-band entropy, first-bandentropy, and variance are calculated as discussed hereinabove. Thesevalues may then be mapped using a function derived from a training setthat maps each value to a range of −1 to 1. If a new value falls outsideof the original range of values, the new mapped value could be outsideof the range of −1 to 1.

A more detailed description of the methodology used by the noisedetector module 35 to extract the dominant frequency of the PSD; thein-band entropy of the PSD between frequencies of 2 Hz and 6 Hz; thefirst-band entropy of the PSD between frequencies of 0 Hz and 2 Hz; andthe variance of the PSD at block 102 is discussed hereinafter. First,assume that an adapted Welch's method FFT of a signal may be representedas F(s), where s is the frequency. The range of s may be from 0 Hz to256 Hz. The PSD may be treated as a probability distribution function(PDF) of some unknown distribution. By treating the FFT as a probabilitydistribution, the entropy content in different bands may be identified.

The following equation may be utilized to convert F(s) (i.e., theWelch-adapted FFT) to a PDF:

${f(s)} = \frac{F(s)}{\int_{0}^{\infty}{F(s)}}$

Accordingly, f(s) is the PDF derived from the PSD. Alternatively, f(s)may also be calculated using a discrete formula, such as a summation,rather than a continuous (integral) formula presented above.

The following equation may then be utilized to determine the dominatefrequency (y_(df)):

$y_{df} = {\underset{s}{\arg\;\max}\;{f(s)}}$

The variance is found by continuing to treat f(s) as a probabilitydistribution function. Assuming that the mean of f(s) is μ, the variance(y_(var)) may be calculated using the following equation:y _(var)=∫₀ ^(∞)(s−μ)² f(s)ds

Alternatively, (y_(var)) may also be calculated using a discreteformula, such as a summation, rather than a continuous (integral)formula presented above.

Since f(s) represents a PDF, the entropy of the spectral bands may bedetermined without much modification. The first-band entropy (y_(H0-2))may be calculated using the following equation:

$y_{H_{0 - 2}} = {- {\sum\limits_{s = 0}^{2}{{f(s)}\log_{2}{f(s)}}}}$

Similarly, the in-band entropy (y_(H2-6)) may be calculated using thefollowing equation:

$y_{H_{2 - 6}} = {- {\sum\limits_{s = 2}^{6}{{f(s)}\log_{2}{f(s)}}}}$

While the dominant frequency of the PSD; the in-band entropy of the PSDbetween frequencies of 2 Hz and 6 Hz; the first-band entropy of the PSDbetween frequencies of 0 Hz and 2 Hz; and the variance of the PSD weredescribed hereinabove as the features extracted from the PSD to beprovided to the machine learning classifier, this is not to be construedas limiting the present invention as other features may be utilized.Such features include, but are not limited to, mean, median, whole bandentropy (0-200 Hz), out-of-band entropy (6-18 Hz), and negativeexponential parameters. In some implementations, a signal amplification(e.g., signal gain) imparted by an ECG acquisition circuit can be usedas a feature to be provided to the machine learning classifier. Forexample, a signal gain (e.g., positive or negative gain in accordancewith a predetermined threshold) may be applied to, e.g., enhance orsuppress an incoming ECG signal. For example, if an incoming ECG signalis suppressed (e.g., negative gain is applied to the signal) suchinformation can indicate a higher probability that the ECG signal is anoisy ECG signal. In this manner, information regarding an amount ofapplied gain can be weighed in determining whether the sampled ECGsignal is noise or a cardiac event.

Once the dominant frequencies of the PSD; the in-band entropy of the PSDbetween frequencies of 2 Hz and 6 Hz; the first-band entropy of the PSDbetween frequencies of 0 Hz and 2 Hz; the variance of the PSD; and/orany other suitable features of the PSD are extracted from the PSD, thesefeatures are submitted to the machine learning classifier at block 103.As noted above, any suitable machine learning classifier may be utilizedsuch as, but not limited to, a multivariate adaptive regression splinesclassifier. In one illustrative example that is not necessarilypreferred, such a classifier is utilized due to its portability to C++,low computational costs, and high success rate in dealing withmultivariate data with nonlinear degrees of correlation.

The following description uses the term “MARS classifier” in its genericsense to describe a multivariate adaptive regression splines classifier.In general, a MARS classifier is a non-parametric regression classifierthat can automatically model non-linearities and interactions betweenvariables. It has the ability to put “kinks” into the regressionfunction. A MARS classifier builds a model that is a weighted sum ofbasis functions. A basis function is a constant, a hinge function, or aproduct of two or more hinge functions. A hinge function partitions datainto disjoint independent regions, with a constant (known as a knot) atthe hinge of the regions. The product of two or more hinge functionsmodels interaction between two or more variables. An exemplarydescription of a MARS classifier is discussed in Jerome H. Friedman,“Multivariate Adaptive Regression Splines”, The Annals of Statistics,Vol. 19, No. 1, (1991).

The MARS classifier builds a model in two phases: a forward pass,followed by a backward pass. In the forward pass, the model starts withan intercept function, adding an intercept term (which is the mean ofresponse values), and then finds basis functions (optimal knotfunctions) to add to the model. The classifier continues to add basisfunctions until a residual error becomes too small to overcome. Abackward pass is then performed in which the classifier attempts toremove basis functions one-by-one to delete the least effective terms.

As discussed above, the dominant frequency, in-band entropy, first-bandentropy, and variance are mapped using a function derived from atraining set that maps each value to a range of −1 to 1. Once thesefeatures are mapped, the values are inputs to the MARS classifierfunction. As described above, this classifier function is amachine-learning methodology that is trained, tested, and validatedusing standard machine learning techniques. For example, and withoutlimiting the present invention, a collection of 120 signals derived fromtreatments performed by a wearable defibrillator 1 are stored as atraining data set. The training data set may include 60 noisy normalsinus rhythm signals (i.e., false positive detections) and 60tachyarrhythmia signals. The classifier was trained using the trainingdata set described above. The MARS classifier that is utilized in thecurrent example includes two classifiers: one for the side-to-sidechannel and one for the front-to-back channel. Each classifier outputs anumeric value intended to be between 0 and 1.

Any exemplary methodology utilized by the MARS classifier is as follows.Once all of the features are extracted from the PSD (denoted by y_(df),y_(var), y_(H0-2), y_(H2-6) as discussed above), they are fed into theMARS classifier function G. The MARS classifier is a nonlinear functionthat was generated by examining testing data to determine coefficientsthat provide a score from 0 to 1 for scaled data within a training datarange as discussed hereinabove. The output score is therefore:r=G(y _(df) ,y _(var) ,y _(H0-2) ,y _(H2-6))

This process is repeated independently for each channel. A continuous10-second buffer is maintained and the entire process is repeated in asliding 10-second window with a 1-second overlap.

With reference to FIG. 7, once the MARS classifier is trained, amethodology performed by the noise detector module 35 operates with thelogic of the abnormal heart rhythms detection methodology of the digitalsignal processing module 31. The methodology of the noise detectormodule 35 is started whenever a treatable VT or VF event (i.e., atriggering event) is detected by the abnormal heart rhythms detectionmethodology of the digital signal processing module 31 and evaluates thesignal at intervals of a second (block 150). For every 10-second window,a score is produced for each channel. A final Boolean score iscalculated by requiring both channel scores from the MARS classifier tobe above a threshold. This methodology is discussed in greater detailhereinafter.

When the methodology of the noise detector module 35 is initialized, a20-second buffer of the ECG signal is passed from the shared memorymodule 33 to be analyzed (block 152). A master score is initialized to20 “points” at the beginning of an event (block 154). If the resultproduced by the MARS classifier of the noise detector module 35 at block156 for the initial 10 seconds of the ECG signal is below thepre-determined threshold (arrhythmia), the master score is incrementedby 1 (blocks 158 and 160). If the result produced by the MARS classifierof the noise detector module 35 is above the threshold (noise), themaster score is decremented by 2 (blocks 158 and 162).

Each subsequent 10 seconds of the ECG signal is evaluated in a sliding10 second window with a 1 second overlap and integrated into the masterscore. The maximum master score is 20 and the minimum is 0 (in thecurrent example, the master score does not exceed this range). After the20-second buffer of the ECG signal is analyzed and the scoringmethodology is run 20 times (10 scores of sliding 10 second windows, foreach channel) (block 164), the resulting master score determines thestate of the event. The threshold for noise classification is 10. If thescore is above 10, the methodology performed by the noise detectormodule 35 ends and allows the treatment sequence to proceed (blocks 166and 168). However, if an event score is less than 10, the event isclassified as noise (blocks 166 and 170). The treatment sequence is heldoff and a new score is created once per second using ensuing ECG data.If the score ever goes above 10, the event sequence is released and thescoring methodology stops.

The methodology of the noise detector module 35 will be discussedhereinafter in greater detail with reference to FIG. 8. The methodologyprovides five main states available to the noise detector module 35:idle 200, working 201, arrhythmia 202, silent noise 203, and noise alarm204. The default state of the noise detector module 35 is idle 200. AVT/VF event indication from the digital signal processing module 31 maytrigger the state to switch to working 201. From the working state 201,the state may enter arrhythmia 202 or silent noise 203 state. As long asthe score remains below the threshold, the silent noise 203 stateprogresses to the noise alarm 204 state. If the score ever goes abovethe threshold, the methodology will enter the arrhythmia 202 state. Eachof these states will be discussed in greater detail below.

In one example, the activation module 37 is typically dormant (in theidle 200 state) due to no events being detected. While idle, the digitalsignal processing module 31 monitors for arrhythmias and stores ECGsignals in the shared memory module 33. Thus, the 0 stage may thusprovide simultaneous power conservation and continual ECG monitoring.The shared memory module 33 may have a memory structure to store themost recent 20 seconds of monitoring data so that such data isimmediately available for transmission to the activation module 37 upondetection of a VT/VF event.

The noise detector module 35 is sent into the idle 200 state at startupand remains in the idle 200 state until a VT/VF event is detected, thealgorithm of the noise detector module 35 exits the idle 200 state andenters the working 201 state.

The working 201 state is triggered if the state was idle 200 and a VT/VFevent was detected. In the working 201 state, there are two manners inwhich the system exits: a timeout or the initial evaluation of thescore. Once in the working 201 state, the incoming ECG signal from theshared memory module 33 is scanned for the VT/VF flag provided by thedigital signal processing module 31. Next, the previous 20 seconds areevaluated using the MARS classifier and a score is produced. If theinitial score is above 10, the state will switch to arrhythmia 202. Ifthe initial score is less than 10, the state will switch to silent noise203. To prevent the possibility of misaligned or missing flags, thissearching routine for the flags in the ECG signal from the shared memorymodule 33 only continues for 7 seconds (which may be calculated in anyconventional manner, in this example from the system clock, not theshared memory ticks). As a failsafe mechanism, if 7 seconds have elapsedwithout an initial score calculation, the noise detector module 35 issent into the arrhythmia 202 state. If an NSR event is detected, thestate will switch to idle 200 after resetting all of the parameters.

The silent noise 203 state may be entered with an initial score greaterthan 10 produced while in the working 201 state. The silent noise 203state may continue up to a maximum time, for example, 10 seconds for aVT event or 30 seconds for a VF event (these times are pre-programmedand may be modified). Every second, the score and timer may beevaluated. In the current example, there are three exit possibilitiesfor the silent noise 203 state: arrhythmia 202, noise alarm 204, or idle200. If the score goes above 10, the state will switch to arrhythmia202. If the score remains below 10 and the timer is greater than thetimer threshold, the state will switch to the noise alarm 204. If an NSRevent is detected, the state will switch to idle 200 after resetting allof the internal parameters. If the score remains below 10 and the timeris less than the threshold, the state will remain in silent noise 203.

The noise alarm 204 state may be entered from the silent noise 203state. In the noise alarm 204 state, there are two exit possibilities:the arrhythmia 202 state or the idle 200 state. Every second the scoreis evaluated in the noise alarm 204 state. If the score goes above 10,the state switches to arrhythmia 202. If the score remains below 10 andthe timer is greater than the timer threshold, the state also switchesto the arrhythmia 202 as a failsafe method since, during the noise alarm204 state, the patient has been asked to respond via the response button27 or some other method by the audio/visual alert device 13 and noresponse has been provided. Therefore, the normal treatment sequence isresumed. If an NSR is detected, the state will switch to idle 200.

The arrhythmia 202 state is a “catch all” state in which there is onlyone way to exit: an NSR event. During a single intercepted event, if thestate enters arrhythmia 202, the noise detector module 35 may remain inthe arrhythmia 202 state until an NSR is detected. The arrhythmia 202state causes the noise detector module 35 to immediately release anyevents in the internal queue to the shell 36. All ECG signal searching,scoring, and evaluating may stop, and the noise detector module 35directly transmits all information from the digital signal processingmodule 31 to the activation module 37. Upon receipt of an NSR event fromthe digital signal processing module 31 to the noise detector module 35,the state will switch from arrhythmia 202 to idle 200.

With reference to FIG. 9, a timeline of the various states of the noisedetector module 35 will be described. In the top scenario of FIG. 9,upon detection of a VT/VF signal flag from the digital signal processingmodule 31, the noise detector module 35 awakens from a dormant stateand, in its working 201 state, evaluates the first 20 seconds of the ECGsignal that the digital signal processing module 31 has indicated asbeing a VT/VF event. If the noise detector module 35 determines that thesignal is a VT/VF event (by, as disclosed above, operating the learningclassifier, scoring, and evaluating the score as being above the VT/VFevent threshold), the only delay is the time it takes for the noisedetector module 35 to process the signal and reach its determination.This delay is typically around one second. The noise detector module 35then enters the arrhythmia 202 state and releases the event to theactivation module 37. The activation module 37 initiates an alarm viathe audio/visual alert device 13. If the patient does not respond to thealarm by pressing the response button 27 or through some other suitablemethod, the activation module 37 initiates treatment by sending a signalto deliver a therapeutic shock via the therapy pads 7. With reference toFIG. 9, the time to treatment is quicker for a VF event than for a VTevent because VT events are more prone to being misclassified and VFevents are more likely to be life-threatening events.

In the bottom scenario of FIG. 9, the noise detector module 35 (in itsworking 201 state) evaluates a 20 second buffer and determines that theECG VT/VF event signal from the digital signal processing module 31 ismost likely noise or contaminated NSR. It does this using the learningclassifier system as described above. In such a situation, in its silentnoise 203 state, a silent delay (shown by dotted cross hatching in FIG.8) is initiated to allow the system time to kick out of the arrhythmiaon its own and return to a dormant state. After this delay has elapsed(in the example shown, 30 seconds for VT and 10 seconds for VF), thenoise detector module leaves the silent noise 203 state and enters thenoise alarm 204 state. The activation module 37 in the noise alarm 204state initiates an alarm via the audio/visual alert device 13. If thepatient does not respond to the alarm by pressing the response button 27or through some other suitable method within a selected period (in theexample shown, 30 seconds for VT and 25 seconds for VF), the activationmodule 37 initiates treatment by sending a signal to deliver atherapeutic shock via the therapy pads 7. If the response button 27 ispushed by the patient, the timer is reset. This extends the noise alarm204 state by 60 seconds for a VT event or 35 seconds for a VF event (notshown). The response button 27 may be pushed indefinitely to hold off atreatment alarm, extending the noise alarm 204 state equallyindefinitely, provided the score does not go above 10.

EXAMPLE

The following is exemplary pseudo-code such as may be created when anexample of the methods disclosed herein is implemented using the C++programming language. The pseudo-code may be utilized to perform themethodology of the noise detector module 35. This pseudo-code isprovided for exemplary purposes only and is not intended to limit theinvention as any number of other coding techniques may be utilized toimplement the methodology of the noise detector module 35.

With reference to FIG. 10, the following is the main applicationprogramming interface for the methodology of the noise detector module35. First, a noise detector object is initialized at block 300. Afterinitialization of the noise detector object, its main purpose is toreceive “raw” ECG signals and events from the digital signal processingmodule 31 (block 302) to determine whether an event should be withheldor released to the shell module 36 of the activation module 37.

As event signals come in from the digital signal processing module 31 tothe activation module 37, every event is passed into the I/O module 38of the activation module 37, as discussed in greater detail hereinabove.For minor action events (block 304), the I/O module 38 of the activationmodule 37 immediately passes an event to the shell 36 (block 316).However, if an event requires action (block 306), or the state of thenoise detector module 35 is not idle, and action on a non-VT/VF event isrequired, the I/O module 38 holds the event signal in the noise detectormodule 35 (blocks 308 and 310).

As an example, the noise detector module 35 may be in the idle 200 stateand receive a normal heart rate event signal. In this case, the eventsignal will be immediately passed through to the shell 36. A criticalexample is one where the noise detector module 35 is in the idle 200state and receives a treatable VT event (block 312). In this case, theI/O module 38 transfers the ECG signal provided from the shared memorymodule 33 to the noise detector module 35 which immediately processesthe ECG signal until it finds the treatable VT flag. All VT/VF eventsare considered to be held if received when the noise detector module 35is in the idle 200 state.

Once the noise detector module 35 finds the flag, the noise detectormodule 35 evaluates the preceding 20 seconds of the ECG signal todetermine whether an event is truly a VT/VF or is a noisy normal sinusrhythm (block 314). If the noise detector module 35 determines it is anarrhythmia 202 based on the first 20 seconds, it will release the eventand go to the arrhythmia 202 state. However, if it determines that it isa noisy normal sinus rhythm, the noise detector module 35 continues toevaluate the incoming ECG signal. Any preceding events during this timeof noise are evaluated for hold/return. For example, a SIDE_SIDE_NOISEevent during the holding of an event because the noise will be placedinto a queue. If the noise detector subsequently declares an arrhythmia,all of the events in the queue will be released.

The following pseudo-code may be utilized by the noise detector module35.

The noise detector object is first initialized using the following code:

-   -   DetectNoise detectNoise( ).

The constructor is called and the pre-programmed parameters for theVT/VF silent period and the VT/VF noise alarm period are fetched. As adefault, in this example, these parameters may be VT(30, 30) and VF(10,25), with the first parameter being the length of delay during thesilent noise 203 state and the second parameter being the length ofdelay during the noise alarm 204 state. The shell 36 of the activationmodule 37 sends the timer parameters to the noise detector module 35using the following code:

SetTimers(int vtTime, int vfTime, int vtNoiseTimer, int vfNoiseTimer);with

-   -   “int vtTime” being the length of delay during the silent noise        203 state for a VT event signal;    -   “int vfTime” being the length of delay during the silent noise        203 state for a VF event signal;    -   “int vtNoiseTimer” being the length of delay during the noise        alarm 204 state for a VT event signal; and    -   “int vfNoiseTimer” being the length of delay during the noise        alarm 204 state for a VF event signal.

The shell 36 of the activation module 37 is configured to send sharedmemory packets to the noise detector module 35 when it is available. Inaddition, the noise detector module 35 has an internal buffer of 60seconds of ECG signal from the shared memory module 33 that is held aswell as a 20 second evaluation buffer for the most recent 20 seconds ofthe ECG signal from the shared memory module 33. The following code maybe utilized by the signal processing module 31 to send a shared memorypacket to the noise detector module 35:

-   -   ProcessPacket(unsigned char *input_packet);

Concurrently, when an event is detected by the digital signal processingmodule 31, the digital signal processing module 31 sends a signal to theI/O module 38 of the activation module 37. The signal could be for anevent of any type, such as low battery, misaligned electrode, or a VT/VFevent. The digital signal processing module 31 may send a signalidentifying that an event has occurred, and identifying the type ofevent, (such as “low battery” or “VT”). Optionally, it could send ameasure of the confidence in the identification of the event, or othermeasures such as voltage or capacitance. The I/O module 38 may pass thesignal to the noise detector module 35. The I/O module 38 may use thefollowing code to pass the event signal:

-   -   int EventAlert(Event event), with    -   “Event event” being an identification of the event (“Event”) and        a type of event (“event”).

The int EventAlert code may have associated with it a number of logicstatements that allow the digital signal processing module 31 to alertthe noise detector module 35 to information about the event, such as thecriticality of the event, which may facilitate the decision of the noisedetector module 35 as to whether to hold the event (meaning to takefurther processing action) or return it (meaning to ignore the event andreturn to idle 200 state). If the event is critical and needs to beheld, the noise detector module 35 may set the return variable (“int”)in the EventAlert code to 1. If the event is not critical (for example,garment maintenance is required soon), the noise detection module mayset the return variable (“int”) to 0. This allows for the noise detectormodule 35 to make quick decisions for lower level events that require noaction.

The noise detector module 35 may confirm the criticality of the event.It may also send the int EventAlert(Event event) code back to the I/Omodule 38. For events deemed non-critical, the noise detector module 35may then return to its idle 200 state, and the I/O module 38 may passthe code to the shell module in the activation module 37 to act asrequired. For events deemed critical, the I/O module 38 may take nofurther action because its receipt of the code indicates that the noisedetector module 35 is taking the necessary actions with regard to theevent.

The noise detector module 35 may be polled periodically by the shell 36of the activation module 37. For example, the noise detector module 35in its idle 200 state may be polled every five (5) minutes. When thenoise detector module 35 is in its working 201 state while a “1” eventhas been held, the noise detector module 35 may also be polled by theshell 36 of the activation module 37 until its state returns back toidle 200. One polling code may be:

-   -   VALIDATEIDLE.

The poll structure of the VALIDATEIDLE polling code may have multiplecomponents: an ID component, an event component, a state component, ascore component, and a flag with a recordFlag option to indicate whetheror when to record an event flag in the ECG signal. The following optionsmay be utilized for the ID component: 0 may be used to indicate that noaction is needed and 1 may be used to indicate that an event has beenidentified and action may be required. The event component may have thesame structure as the event alert that was passed into the noisedetector module 35 using the int EventAlert(Event event) code. The noisedetector module 35 may populate the event component using informationabout these events retrieved from an internal event queue. The statecomponent may be used to identify the state of the noise detector module35, and the score component may be used to identify the current score ofthe event being monitored. The state component and the score componentmay be optional arguments that may be inputted into fields in the log.The poll structure of the VALIDATEIDLE polling code may also have atiming flag to record a delay.

The noise detector module 35 populates the polling structure asappropriate. For example, if the state of the noise detector module 35or the score of the event being monitored changes, the recordFlag optionwill be true. If the recordFlag option is true, the noise detectormodule 35 may instruct the shell 36 of the activation module 37 torecord the current state and score components contained within the eventpoll structure using the following code:

-   -   pollInterceptor GetPoll( );

Additionally, debugging/logging/reset functions are available. One is anoise predictor module status function. The shell 36 of the activationmodule 37 is configured to send to the noise detector module 35 arequest for status in the form of the following code:

-   -   int GetDetectorStatus( );

The noise detector module 35 may populate the int GetDetectorStatus( )code with its state. The “int” portion of the GetDetectorStatus( ) codemay be an integer defining one of the possible states of the noisedetector module 35. The noise detector module 35 may send the populatedcode to the shell 36 of the activation module 37. Thus, duringdebugging, the activation module 37 may readily have the current statusof the states of the noise detector module 35.

A reset function may be used to reset the noise detector module 35 asrequired. For example, if the defibrillator system 1 locks or for someother reason requires resetting (such as during a disconnection of anelectrode 5 a, 5 b, 5 c, or 5 d from the controller unit 3), the noisedetector module 35 is configured to manually reset. The reset functionmay take the same form as the function that resets the noise detectormodule 35 to the idle 200 state when the NO_TREATABLE_RHYTHM event isreceived from the digital signal processing module 31 via the I/O module38. The noise detector module 35 may invoke the reset by issuing thefollowing exemplary code:

-   -   void ResetValidator( );

Another function may be used to provide the activation module withinformation about how long it takes for the noise detector module 35 tomake a first decision in response to an event flag. The function isconfigured to determine the elapsed time between the receipt of thefirst VT/VF event flag and the first decision by the noise detectormodule 35 in response to the event flag. The shell 36 of the activationmodule 37 is configured to send to the noise detector module 35 arequest for the elapsed time using the following code:

-   -   int GetBufferTiming( );

The noise detector module 35 may populate the int GetBufferTiming( )code with the elapsed timing. The noise detector module 35 may send thepopulated code to the shell 36 of the activation module 37.

Although a system and method for distinguishing a cardiac event fromnoise in an electrocardiogram (ECG) signal has been described in detailfor the purpose of illustration based on what is currently considered tobe the most practical and preferred examples, it is to be understoodthat such detail is solely for that purpose and that the invention isnot limited to the disclosed examples, but, on the contrary, is intendedto cover modifications and equivalent arrangements. For example, it isto be understood that this disclosure contemplates that, to the extentpossible, one or more features of any example can be combined with oneor more features of any other example.

The invention claimed is:
 1. A wearable defibrillator comprising: atleast one therapy pad for rendering treatment to a patient wearing thewearable defibrillator; at least one sensing electrode for obtaining anelectrocardiogram (ECG) signal from the patient; a processing unitcomprising at least one processor operatively coupled to the at leastone therapy pad and the at least one sensing electrode; and at least onenon-transitory computer-readable medium comprising program instructionsthat, when executed by the at least one processor, causes the processingunit to: obtain the ECG signal; determine a transformed ECG signal basedon the ECG signal; extract at least one value representing at least onefeature of the transformed ECG signal; provide the at least one value todetermine a score associated with the ECG signal, thereby providing anECG-derived score; compare the ECG-derived score to a predeterminedthreshold score determined by machine learning; and provide anindication of a cardiac event based on the comparison of the ECG-derivedscore with the predetermined threshold score, wherein the transformedECG signal comprises a power spectral density (PSD) of the ECG signal,the PSD being determined by calculating a fast Fourier transform (FFT)of the ECG signal, and wherein at least four features of the PSD areextracted and provided to the machine learning.
 2. The wearabledefibrillator of claim 1, wherein the transformed ECG signal comprises afrequency-domain representation of the ECG signal.
 3. The wearabledefibrillator of claim 1, wherein the transformed ECG signal comprises arepresentation of a power distribution of the ECG signal over a range offrequencies of the ECG signal.
 4. The wearable defibrillator of claim 1,wherein the at least four features of the PSD that are extracted are: atleast one value representing a dominant frequency of the PSD; at leastone value representing in-band entropy of the PSD between frequencies of2 Hz and 6 Hz; at least one value representing first-band entropy of thePSD between frequencies of 0 Hz and 2 Hz; and at least one valuerepresenting a variance of the PSD.
 5. The wearable defibrillator ofclaim 1, wherein determining the PSD comprises calculating the fastFourier transform (FFT) of the ECG signal and performing a square of amodulus of the FFT to transform the FFT into a real number.
 6. Thewearable defibrillator of claim 1, wherein the machine learning is oneof a multivariate adaptive regression splines classifier and a neuralnetwork classifier.
 7. The wearable defibrillator of claim 1, furthercomprising at least one response mechanism operatively connected to theat least one processor, wherein the wearable defibrillator is configuredto prevent rendering treatment to the patient wearing the wearabledefibrillator in response to a patient actuation of the at least oneresponse mechanism.
 8. The wearable defibrillator of claim 1, furthercomprising: providing an instruction signal for taking an action basedon the indication.
 9. The wearable defibrillator of claim 8, wherein theaction is at least one of applying a therapy to a patient and providinga warning signal to the patient.
 10. The wearable defibrillator of claim8, further comprising an alert device operatively coupled to the atleast one processor for providing the instruction signal to the patient.11. The wearable defibrillator of claim 1, wherein the programinstructions that are executed by the at least one processor areinitiated for a portion of the ECG signal that is stored in a memorydevice when the at least one processor detects a triggering event. 12.The wearable defibrillator of claim 11, wherein the portion of the ECGsignal is a predetermined time period of the ECG signal that precedesthe triggering event.
 13. The wearable defibrillator of claim 12,wherein the predetermined time period is 20 seconds.
 14. The wearabledefibrillator of claim 11, wherein the triggering event is at least oneof detection of a ventricular fibrillation (VF) in the ECG signal anddetection of a ventricular tachycardia (VT) event in the ECG signal. 15.The wearable defibrillator of claim 1, wherein the machine learning isbased on a training data set comprising a collection of ECG signalsstored in a memory of the wearable defibrillator.
 16. The wearabledefibrillator of claim 1, wherein the indication of the cardiac event isprovided if the ECG-derived score is one of above or below thepredetermined threshold score.
 17. The wearable defibrillator of claim1, wherein the program instructions executed by the at least oneprocessor are performed during a delay period in which an alert deviceoperatively coupled to the at least one processor does not provide asignal to the patient.
 18. The wearable defibrillator of claim 17,wherein the delay period is one of about 10 seconds and about 30seconds.
 19. A wearable defibrillator comprising: at least one therapypad for rendering treatment to a patient wearing the wearabledefibrillator; at least one sensing electrode for obtaining anelectrocardiogram (ECG) signal from the patient; a processing unitcomprising at least one processor operatively coupled to the at leastone therapy pad and the at least one sensing electrode; and at least onenon-transitory computer-readable medium comprising program instructionsthat, when executed by the at least one processor, causes the processingunit to: obtain the ECG signal; determine a transformed ECG signal basedon the ECG signal; extract at least one value representing at least onefeature of the transformed ECG signal; provide the at least one value todetermine a score associated with the ECG signal, thereby providing anECG-derived score; compare the ECG-derived score to a predeterminedthreshold score determined by machine learning; and provide anindication of a cardiac event based on the comparison of the ECG-derivedscore with the predetermined threshold score, wherein the machinelearning is based on a training data set comprising a collection of ECGsignals associated with treatments performed by a plurality ofdefibrillators.
 20. The wearable defibrillator of claim 19, wherein thecollection of ECG signals includes at least noisy normal sinus rhythmsignals and tachyarrhythmia signals.
 21. A wearable defibrillatorcomprising: at least one therapy pad for rendering treatment to apatient wearing the wearable defibrillator; at least one sensingelectrode for obtaining an electrocardiogram (ECG) signal from thepatient; a processing unit comprising at least one processor operativelycoupled to the at least one therapy pad and the at least one sensingelectrode; and at least one non-transitory computer-readable mediumcomprising program instructions that, when executed by the at least oneprocessor, causes the processing unit to: obtain the ECG signal;determine a transformed ECG signal based on the ECG signal; extract atleast one value representing at least one feature of the transformed ECGsignal; provide the at least one value to determine a score associatedwith the ECG signal, thereby providing an ECG-derived score; compare theECG-derived score to a predetermined threshold score determined bymachine learning; and provide an indication of a cardiac event based onthe comparison of the ECG-derived score with the predetermined thresholdscore, wherein the machine learning is one of a multivariate adaptiveregression splines classifier and a neural network classifier.
 22. Awearable defibrillator comprising: at least one therapy pad forrendering treatment to a patient wearing the wearable defibrillator; atleast one sensing electrode for obtaining an electrocardiogram (ECG)signal from the patient; a processing unit comprising at least oneprocessor operatively coupled to the at least one therapy pad and the atleast one sensing electrode; and at least one non-transitorycomputer-readable medium comprising program instructions that, whenexecuted by the at least one processor, causes the processing unit to:obtain the ECG signal; determine a transformed ECG signal based on theECG signal; extract at least one value representing at least one featureof the transformed ECG signal; provide the at least one value todetermine a score associated with the ECG signal, thereby providing anECG-derived score; compare the ECG-derived score to a predeterminedthreshold score determined by machine learning; and provide anindication of a cardiac event based on the comparison of the ECG-derivedscore with the predetermined threshold score, wherein the machinelearning is based on a training data set comprising a collection of ECGsignals stored in a memory of the wearable defibrillator.